package com.springcloud.regin.config;

import com.netflix.discovery.EurekaClientConfig;
import feign.Retryer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;

import static java.util.concurrent.TimeUnit.SECONDS;

/**
 * @Desc: 注入一个BeanName 为 FeignRetryer 的 Retryer 的Bean。
 * 注入该Bean之后，Feign在远程调用失败后悔进行重试。
 * @Date: 2020-06-25
 * @Version:v1.0
 */
@Configuration
public class FeignConfig {

    @Autowired
    private EurekaClientConfig eurekaClientConfig;

    public Retryer feignRetryer() {
        return new Retryer.Default(100, SECONDS.toMinutes(1), 5);
    }
}
